package com.sgcc.statistics.mapper;

import java.util.List;

import com.sgcc.statistics.domain.IndicatorExecutionDto;
import com.sgcc.statistics.domain.OIndexBreakdown;

/**
 * OIndexBreakdownMapper接口
 * 
 * @author sgcc
 * @date 2021-04-14
 */
public interface OIndexBreakdownMapper 
{
    /**
     * 查询OIndexBreakdown
     * 
     * @param id OIndexBreakdownID
     * @return OIndexBreakdown
     */
    public OIndexBreakdown selectOIndexBreakdownById(String id);

    /**
     * 查询OIndexBreakdown列表
     * 
     * @param oIndexBreakdown OIndexBreakdown
     * @return OIndexBreakdown集合
     */
    public List<OIndexBreakdown> selectOIndexBreakdownList(OIndexBreakdown oIndexBreakdown);

    /**
     * 新增OIndexBreakdown
     * 
     * @param oIndexBreakdown OIndexBreakdown
     * @return 结果
     */
    public int insertOIndexBreakdown(OIndexBreakdown oIndexBreakdown);

    /**
     * 修改OIndexBreakdown
     * 
     * @param oIndexBreakdown OIndexBreakdown
     * @return 结果
     */
    public int updateOIndexBreakdown(OIndexBreakdown oIndexBreakdown);

    /**
     * 删除OIndexBreakdown
     * 
     * @param id OIndexBreakdownID
     * @return 结果
     */
    public int deleteOIndexBreakdownById(String id);

    /**
     * 批量删除OIndexBreakdown
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteOIndexBreakdownByIds(String[] ids);

    List<OIndexBreakdown> getIndexBrekdownByUnit(String isCounty, String year, List<String> orgNoList);

    List<IndicatorExecutionDto> implementationIndicators(List<String> orgNoList, String year, String orgNo);

    List<IndicatorExecutionDto> addNumPercentage(List<String> orgNoList, String year);

    List<IndicatorExecutionDto> isContainAddNumPercentage(List<String> orgNoList, String unit, String year);

    List<OIndexBreakdown> selectOIndexBreakdownListByYearAndUnit(String year);

    OIndexBreakdown selectOIndexBreakdownByYearAndUnit(String unit, String year, String period);

    List<OIndexBreakdown> getIndexBrekdownByUnitCity(String isCounty, String year, String unit, List<String> orgNoList);

    List<OIndexBreakdown> getIndexDetailList(String year);

    OIndexBreakdown getIndexByUnitAndYearAndMonth(String unit, String year, String month);

    List<OIndexBreakdown> getCityIndexDetailList(String orgNo, String year, String month);

    List<IndicatorExecutionDto> implementationIndQuXian(String orgNo, String year);

    List<OIndexBreakdown> getShengBreakdownCityData(String year);

    List<OIndexBreakdown> selectListByYearAndUnit(String unit, String year);
}
